An Application Programming Interface (“API”) is a collection of software functions and procedures, referred to as “API calls”, that can be executed by other software applications. Application developers can include links to existing APIs in an application to make use of their functionality. This link is generally seamless and end users of the application are typically not aware that a separately developed API is being invoked.
During API testing, a test harness application may be used that links to the APIs and methodically exercises their functionality in order to simulate the use of the API by end user applications. API testing applications need to ensure that the test harness varies parameters of the API calls in ways that verify functionality and expose failures. This includes assigning common parameter values as well as exploring boundary conditions. API testing further needs to generate interesting parameter value combinations for calls with two or more parameters, and determine the content under which an API call is made. Further, API testing typically needs to include sequencing API calls to vary the order in which the functionality is exercised and to make the API produce useful results from successive calls.